<%@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<%@ page import="java.util.List" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.GregorianCalendar" %>
<%@ page import="java.util.Calendar" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="javax.portlet.PortletSession" %>
<%@ page import="com.liferay.portal.kernel.util.HtmlUtil" %>
<%@ page import="com.liferay.portal.kernel.util.WebKeys" %>
<%@ page import="com.liferay.portal.theme.ThemeDisplay" %>
<%@ page import="javax.portlet.PortletSession" %>
<%@ page import="slic.service.EquipoLocalServiceUtil" %>
<%@ page import="slic.service.EscuelaLocalServiceUtil" %>
<%@ page import="slic.service.DisciplinaLocalServiceUtil" %>
<%@ page import="slic.service.CategoriaDisciplinaLocalServiceUtil" %>
<%@ page import="slic.service.PartidoLocalServiceUtil" %>
<%@ page import="com.liferay.portal.service.UserLocalServiceUtil" %>
<%@ page import="slic.model.Equipo" %>
<%@ page import="slic.model.Escuela" %>
<%@ page import="slic.model.Disciplina" %>
<%@ page import="slic.model.CategoriaDisciplina" %>
<%@ page import="slic.model.Partido" %>
<%@ page import="com.liferay.portal.model.User" %>
<%@ page import="com.liferay.portal.kernel.portlet.LiferayWindowState" %>

<portlet:defineObjects />
<liferay-theme:defineObjects />

<%

	if (renderRequest.getParameter("funcion") != null &&
			!renderRequest.getParameter("funcion").trim().equals("")) {
		session.setAttribute("partidosViewFuncion", renderRequest.getParameter("funcion"));
	}

	session.setAttribute("initBusqueda", "true");

	String escuelaId = renderRequest.getParameter("escuelaId");
	if (escuelaId == null || escuelaId.trim().equals(""))
		escuelaId = "";

	String escuelaNombre = renderRequest.getParameter("escuelaNombre");
	if (escuelaNombre == null || escuelaNombre.trim().equals(""))
		escuelaNombre = "";

	
	List<Disciplina> listDisciplina = DisciplinaLocalServiceUtil.getDisciplinas(0, DisciplinaLocalServiceUtil.getDisciplinasCount());
	
	long categoriaId = -1;
	if (renderRequest.getParameter("categoriaId") != null && !renderRequest.getParameter("categoriaId").equals("")) {
		categoriaId = Long.valueOf(renderRequest.getParameter("categoriaId")).longValue();
	}

	long disciplinaId = -1;
	List<CategoriaDisciplina> listCategoria = null;
	if (renderRequest.getParameter("disciplinaId") != null
			&& !renderRequest.getParameter("disciplinaId").trim().equals("")) {
		disciplinaId = Long.valueOf(renderRequest.getParameter("disciplinaId")).longValue();
		listCategoria = CategoriaDisciplinaLocalServiceUtil.findByDisciplinaId(disciplinaId);
	}

%>
<portlet:renderURL var="addURL">
	<portlet:param name="mvcPath" value="/html/resultados/edit.jsp"/>
</portlet:renderURL>

<portlet:renderURL var="searchEscuelaURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
	<portlet:param name="mvcPath" value="/html/equipos/searchEscuela.jsp"/>
</portlet:renderURL>

<portlet:renderURL var="seleccionDisciplinaURL">
	<portlet:param name="mvcPath" value="/html/resultados/view.jsp"/>
</portlet:renderURL>

<portlet:renderURL var="seleccionCategoriaURL">
	<portlet:param name="mvcPath" value="/html/resultados/view.jsp"/>
</portlet:renderURL>

<portlet:renderURL var="verObservacionesURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
	<portlet:param name="mvcPath" value="/html/eventos/verObservaciones.jsp"/>
</portlet:renderURL>

<liferay-portlet:renderURL varImpl="iteratorURL">
	<portlet:param name="jspPage" value="/html/resultados/view.jsp"/>
	<portlet:param name="disciplinaId" value="<%=String.valueOf(disciplinaId)%>"/>
	<portlet:param name="categoriaId" value="<%=String.valueOf(categoriaId)%>"/>
	<portlet:param name="escuelaNombre" value="<%=String.valueOf(escuelaNombre)%>"/>
	<portlet:param name="escuelaId" value="<%=String.valueOf(escuelaId)%>"/>
</liferay-portlet:renderURL>



<aui:form>

	<liferay-ui:success key="equipo-eliminado" message="equipo-eliminado" />
	<liferay-ui:success key="equipo-enviado" message="equipo-enviado" />
	<liferay-ui:success key="equipo-aprobado" message="equipo-aprobado" />

	<aui:select name="disciplinaId" label="Disciplina" id="disciplina" onChange="seleccionDisciplina()" >
		<option value=""></option>
	<%
		for (Disciplina disciplina1 : listDisciplina) {
			if (disciplina1.getDisciplinaId() == disciplinaId) {
				out.write("<option value=\"" + disciplina1.getDisciplinaId() + "\" selected=\"selected\">"
						+ disciplina1.getNombre() + "</option>");
			}
			else {
				out.write("<option value=\"" + disciplina1.getDisciplinaId() + "\">"
						+ disciplina1.getNombre() + "</option>");
			}
		}
	%>
	</aui:select>

	<c:if test="<%=disciplinaId != -1L%>">
		<aui:select name="categoriaId" label="Categor&iacute;a" id="categoria" onChange="seleccionCategoria()" >
			<option value=""></option>
		<%
			for (CategoriaDisciplina categoria : listCategoria) {
				if (categoria.getCategoriaId() == categoriaId) {
					out.write("<option value=\"" + categoria.getCategoriaId() + "\" selected=\"selected\">"
							+ categoria.getNombre() + "</option>");
				}
				else {
					out.write("<option value=\"" + categoria.getCategoriaId() + "\">"
 							+ categoria.getNombre() + "</option>");
				}
			}
		%>
		</aui:select>
	</c:if>

	<c:if test="<%=categoriaId != -1L%>">
		<aui:field-wrapper label="Escuela">
			<input type="text" readonly="readonly" size="30" id="<portlet:namespace />escuelaNombre" name="<portlet:namespace />escuelaNombre" value="<%=escuelaNombre%>" />
			<input type="hidden" id="<portlet:namespace />escuelaId" name="<portlet:namespace />escuelaId" value="<%=escuelaId%>" />
			<br/>
			<a href="#" onclick="abrirSeleccionarEscuela()">Seleccionar...</a> | <a href="#" onclick="verTodos()">Ver todos...</a>
		</aui:field-wrapper>
		
	</c:if>
	<c:if test="<%=!escuelaId.isEmpty()%>">
		
	<br />
	
	<h2>Partidos Jugados</h2>
	<liferay-ui:search-container iteratorURL="<%=iteratorURL%>" delta="10" emptyResultsMessage="No se encontraron partidos." var="partidoContainer">

		<liferay-ui:search-container-results>
		<%
		
		HashMap<String, String> map = new HashMap<String, String>();
			
		
			if(!String.valueOf(escuelaId).isEmpty() && !String.valueOf(escuelaId).equalsIgnoreCase("-1")){
				map.put("escuelaId",escuelaId);
			}
			
			map.put("categoriaId", String.valueOf(categoriaId));
			map.put("soloJugados","true");
			map.put("orderBy", "fecha");
			map.put("orderType", "desc");
			

			List<Partido> listPartido = PartidoLocalServiceUtil.findByMap(map,
					partidoContainer.getStart(), partidoContainer.getEnd());
			
			Long longTotal = PartidoLocalServiceUtil.countByMap(map);

			pageContext.setAttribute("results", listPartido);
			pageContext.setAttribute("total", Integer.valueOf(longTotal.intValue()));
			pageContext.setAttribute("rowNumber", Integer.valueOf(0));
		%>
		</liferay-ui:search-container-results>

		<liferay-ui:search-container-row
				className="slic.model.Partido"
				keyProperty="partidoId"
				modelVar="partido" >

			<%
				Equipo equipo1 = EquipoLocalServiceUtil.fetchEquipo(partido.getEquipo1());
				Equipo equipo2 = EquipoLocalServiceUtil.fetchEquipo(partido.getEquipo2());
				Escuela escuela1 = EscuelaLocalServiceUtil.fetchEscuela(equipo1.getEscuelaId());
				Escuela escuela2 = EscuelaLocalServiceUtil.fetchEscuela(equipo2.getEscuelaId());
				/*
				CategoriaDisciplina categoriaDisciplina = CategoriaDisciplinaLocalServiceUtil.fetchCategoriaDisciplina(equipo.getCategoriaId());
				Disciplina disciplina = DisciplinaLocalServiceUtil.fetchDisciplina(categoriaDisciplina.getDisciplinaId());
				User createUser = UserLocalServiceUtil.fetchUser(equipo.getCreateUser());
				*/
			%>
				<liferay-ui:search-container-column-text name="Fecha">
					<fmt:formatDate value="<%= partido.getFecha() %>" pattern="dd-MM-yyyy"/>
				</liferay-ui:search-container-column-text>
	
				<liferay-ui:search-container-column-text name="Lugar">
					<%= partido.getLugar() %>
				</liferay-ui:search-container-column-text>
	
				<liferay-ui:search-container-column-text name="Partido">
						<%=escuela1.getNombre() + " (" + escuela1.getDireccion() + ", " + escuela1.getLocalidad() + ", Regi&oacute;n " + escuela1.getRegion() + ")&nbsp;&nbsp;" %>
						<c:if test="<%= partido.getModifiedDate() != null %>">
							<%= String.valueOf(partido.getMarcador1()) %> - <%= String.valueOf(partido.getMarcador2()) %>
						</c:if>
						<br />
						<%=escuela2.getNombre() + " (" + escuela2.getDireccion() + ", " + escuela2.getLocalidad() + ", Regi&oacute;n " + escuela2.getRegion() + ")&nbsp;&nbsp;" %>
						
				</liferay-ui:search-container-column-text>
	
				<liferay-ui:search-container-column-text name="Detalle">
					<c:if test="<%= partido.getModifiedDate() != null %>">
						<a href="#" onclick="verObservaciones(<%=partido.getPartidoId()%>)">Ver</a>
					</c:if>
				</liferay-ui:search-container-column-text>

		</liferay-ui:search-container-row>

		<liferay-ui:search-iterator searchContainer="<%= partidoContainer %>" />

	</liferay-ui:search-container>
	
	<h2>Proximos Partidos</h2>
	<liferay-ui:search-container iteratorURL="<%=iteratorURL%>" delta="10" emptyResultsMessage="No se encontraron partidos." var="partidoContainer">

		<liferay-ui:search-container-results>
		<%
			HashMap<String, String> map = new HashMap<String, String>();
		
			if(!String.valueOf(escuelaId).isEmpty() && !String.valueOf(escuelaId).equalsIgnoreCase("-1")){
				map.put("escuelaId",escuelaId);
			}

			map.put("categoriaId", String.valueOf(categoriaId));
			map.put("orderBy", "fecha");
			map.put("porJugar","true");
			map.put("orderType", "asc");

			List<Partido> listPartido = PartidoLocalServiceUtil.findByMap(map,
					partidoContainer.getStart(), partidoContainer.getEnd());

			Long longTotal = PartidoLocalServiceUtil.countByMap(map);

			pageContext.setAttribute("results", listPartido);
			pageContext.setAttribute("total", Integer.valueOf(longTotal.intValue()));
			pageContext.setAttribute("rowNumber", Integer.valueOf(0));
		%>
		</liferay-ui:search-container-results>

		<liferay-ui:search-container-row
				className="slic.model.Partido"
				keyProperty="partidoId"
				modelVar="partido" >

			<%
				Equipo equipo1 = EquipoLocalServiceUtil.fetchEquipo(partido.getEquipo1());
				Equipo equipo2 = EquipoLocalServiceUtil.fetchEquipo(partido.getEquipo2());
				Escuela escuela1 = EscuelaLocalServiceUtil.fetchEscuela(equipo1.getEscuelaId());
				Escuela escuela2 = EscuelaLocalServiceUtil.fetchEscuela(equipo2.getEscuelaId());
				/*
				CategoriaDisciplina categoriaDisciplina = CategoriaDisciplinaLocalServiceUtil.fetchCategoriaDisciplina(equipo.getCategoriaId());
				Disciplina disciplina = DisciplinaLocalServiceUtil.fetchDisciplina(categoriaDisciplina.getDisciplinaId());
				User createUser = UserLocalServiceUtil.fetchUser(equipo.getCreateUser());
				*/
			%>
				<liferay-ui:search-container-column-text name="Fecha">
					<fmt:formatDate value="<%= partido.getFecha() %>" pattern="dd-MM-yyyy"/>
				</liferay-ui:search-container-column-text>
	
				<liferay-ui:search-container-column-text name="Lugar">
					<%= partido.getLugar() %>
				</liferay-ui:search-container-column-text>
	
				<liferay-ui:search-container-column-text name="Partido">
						<%=escuela1.getNombre() + " (" + escuela1.getDireccion() + ", " + escuela1.getLocalidad() + ", Regi&oacute;n " + escuela1.getRegion() + ")&nbsp;&nbsp;" %>
						<c:if test="<%= partido.getModifiedDate() != null %>">
							<%= String.valueOf(partido.getMarcador1()) %> - <%= String.valueOf(partido.getMarcador2()) %>
						</c:if>
						<br />
						<%=escuela2.getNombre() + " (" + escuela2.getDireccion() + ", " + escuela2.getLocalidad() + ", Regi&oacute;n " + escuela2.getRegion() + ")&nbsp;&nbsp;" %>
						
				</liferay-ui:search-container-column-text>
	
				<liferay-ui:search-container-column-text name="Detalle">
					<c:if test="<%= partido.getModifiedDate() != null %>">
						<a href="#" onclick="verObservaciones(<%=partido.getPartidoId()%>)">Ver</a>
					</c:if>
				</liferay-ui:search-container-column-text>
		</liferay-ui:search-container-row>

		<liferay-ui:search-iterator searchContainer="<%= partidoContainer %>" />

	</liferay-ui:search-container>

	</c:if>


</aui:form>

<aui:script>

	function seleccionDisciplina() {
		document.<portlet:namespace/>fm.action = '<%= seleccionDisciplinaURL %>';
		if (document.getElementById('<portlet:namespace />categoria') != null)
			document.getElementById('<portlet:namespace />categoria').value = '';
		document.<portlet:namespace/>fm.submit();
	}

	function seleccionCategoria() {
		document.<portlet:namespace/>fm.action = '<%= seleccionCategoriaURL %>';
		document.<portlet:namespace/>fm.submit();
	}

	<c:if test="<%=categoriaId != -1L%>">
		AUI().ready('aui-button-item', function(A) {
			<c:if test="<%= \"crearPartidos\".equals(session.getAttribute(\"partidosViewFuncion\")) %>">

				var addButtonHandler = function(event) {
					document.<portlet:namespace/>fm.action = '<%= addURL %>';
					document.<portlet:namespace/>fm.method = 'post';
					document.<portlet:namespace/>fm.submit();
				};

				var addButton = new A.ButtonItem({
					boundingBox: '#addButton',
					handler: addButtonHandler,
					icon: 'circle-plus',
					label: 'Nuevo'
				}).render();

			</c:if>
		});

		function abrirSeleccionarEscuela() {
			Liferay.Util.openWindow({
				dialog: {align: Liferay.Util.Window.ALIGN_CENTER,
						after: {render: function(event) {this.set('y', this.get('y') + 50);}}, width: 960},
				id: '<%=liferayPortletResponse.getNamespace() + "escuelas"%>',
				title: 'Escuelas',
				uri: '<%=searchEscuelaURL.toString()%>'});
		}
		
		function verTodos() {
			document.getElementById('<portlet:namespace />escuelaId').value = -1;
			document.getElementById('<portlet:namespace />escuelaNombre').value = "";
			document.<portlet:namespace/>fm.submit();
		}
		
		function verObservaciones(partidoId) {
			var verObservacionesURL = '<%=verObservacionesURL.toString() + "&" + liferayPortletResponse.getNamespace() + "partidoId="%>';
			verObservacionesURL += partidoId;
		
			Liferay.Util.openWindow({
				dialog: {align: Liferay.Util.Window.ALIGN_CENTER,
						after: {render: function(event) {this.set('y', this.get('y') + 50);}}, width: 960},
				id: '<%=liferayPortletResponse.getNamespace() + "observaciones"%>',
				title: 'Partido',
				uri: verObservacionesURL});
		}

		Liferay.provide(
			window,
			'seleccionarEscuela',
			function(escuelaId, escuelaNombre) {
				var A = AUI();

				A.DialogManager.closeByChild('#<portlet:namespace />escuelas');

				var curPortletBoundaryId = '#p_p_id<portlet:namespace />';

				document.getElementById('<portlet:namespace />escuelaId').value = escuelaId;
				document.getElementById('<portlet:namespace />escuelaNombre').value = escuelaNombre;
				document.<portlet:namespace/>fm.submit();
			},
			['aui-dialog','aui-dialog-iframe']
		);
	</c:if>

</aui:script>
